EN FR
EN FR


Section: Software

PaMPA

Participants : Cécile Dobrzynski, Hervé Guillard [PUMAS] , Laurent Hascoët [Tropics] , Cédric Lachat, François Pellegrini [Corresponding member] .

PaMPA (“Parallel Mesh Partitioning and Adaptation”) is a middleware library dedicated to the management of distributed meshes. Its purpose is to relieve solver writers from the tedious and error prone task of writing again and again service routines for mesh handling, data communication and exchange, remeshing, and data redistribution. It is based on a distributed data structure that represents meshes as a set of entities (elements, faces, edges, nodes, etc.), linked by relations (that is, computation dependencies).

Version 0.1 allows users to declare a distributed mesh, declare values attached to the entities of the meshes (e.g. temperature attached to elements, pressures to the faces, etc.), exchange values between overlapping entities located at the boundaries of subdomains assigned to different processors, and iterate over the relations of entities (e.g. iterate over the faces of elements).

PaMPA is already used as the data structure manager for two solvers being developed at INRIA: Plato and Aerosol .

PaMPA will soon interface with Scotch for mesh redistribution, and with MMG3D to offer parallel remeshing features (in this particular example, for tetrahedral elements).